'002 Numeric variables.bas SmallBASIC 0.12.6 [B+=MGA] 2016-06-08 ? "!!! Right click mouse or tap 3 vertical bars (Android)" ? "!!! to access the popup menu that gives access to vital" ? "!!! functions. Call this GET POPUP." ? ? "GET POPUP now and select View Source to see this code!" ? ? "Numeric variables:" ? ? "Variables are containers. The variable/container has a" ? "name and the variable's value is the contents found under" ? "the name. They are called variables because the contents," ? "the values, are or can be switched." ? ? "With SmallBASIC the name must start with a letter or _ " ? "and may be followed by more letters, _ or digits." ? ? "In SmallBASIC letters are not case sensitive so:" ? "MyVariable = myvariable = MYVARIABLE = MYvariable" ? "just spell them the same (no spaces)." ? ? "... press any to continue" : pause : cls ' Here are Two typical variable assignments, ' loading a value into a named variable a = 5.05 '<== you can assign a number directly ' or you can assign values from numeric expressions b_1 = 2 * 2 * a / 1.01 '<== should be 20 ? "Here are two typical variable assignments just made: ? ? "Name:", "Value:",, "Name:", "Value:" ? "a ", A,, "b_1 ", B_1 ? ? "Here is look at arithmatic operators +, -," ? "* multiplication, / division." ? "a + b_1 = ";A + b_1;" a - b_1 = ";A - B_1 ? "a * b_1 = ";a * b_1;" a / b_1 = ";a / b_1 ? ? "For Powers use ^:" ? "a squared is a ^ 2 = ";a^2 ? "b_1 cubed is b_1 ^ 3 = ";b_1^3 ? "The square root of a number n is n ^ .5 or n ^ (1/2)" ? "The cubed root of a number n is n ^ (1/3)" ? "So square root of a is a ^ .5 = ";a ^ .5 ? "and cube root of b_1 is b_1 ^ (1/3) = ";b_1 ^ (1/3) ? ? "Integer division uses \ the slash that goes the other way." ? "With Integer division the fractional part is just dropped." ? "7 / 2 = ";7/2;" but 7 \ 2 = "; 7 \ 2 ? "7 / 8 = ";7/8;" but 7 \ 8 = "; 7 \ 8 ? ? "Modulus returns the remainder, 5/3 has a remainder = 2" ? "so 5 MOD 3 = 2 (or 5 % 3 = 2)." ? "MOD or % work with integers (no decimal in number)." ? "2 hours past 12 o'clock is 2 o'clock but what is" ? "49 hours past 12 o'clock ?" ? "It is 49 mod 12 or "; 49 mod 12;" o clock" ? ? "... press any to continue" : pause : cls '123456789012345678901234567890123456789012345678901234567890 ? "Now that we have some variables and numeric operators," ? "Let's try input of a radius and calculation of a circle's" ? "Area = pi * radius ^ 2 ? ? "pi is a built in constant in SmallBASIC = ";pi ? ? "Next we will see INPUT keyword assigning the variable ? "radius with a number you enter after a prompt enclosed" ? "with double quotes:" ? ' The INPUT statement structure or syntax: ' INPUT "prompt"; inputVARIABLE ' the V's are pointing to parts ' V key word V "prompt" semi-colon V Variable input "So please enter a radius now > "; radius ? "We have assigned the value ";radius;" to radius," ? "using an INPUT statement, a second way to assign" ? "values to variables. Normally we would check INPUT" ? "values but we haven't discussed IF THEN structure." ? area = pi * radius ^ 2 ? "A circle with radius ";radius;" has an area of ";area ? ? "... press any to continue" : pause : cls ? "OK now is a good time to discuss the order operators" ? "are handled, since it does not go from left to right." ? "The main thing to remember is that + and - are done" ? "last, next to last are * and / (mult. and divide) so: ? "7 - 3 * 5 won't be 4 * 5 == 20 but 7 - 15 == -8." ? " (I will start using == to mean equals)" ? "When in doubt use () as the operations inside are" ? "handled first: (7 - 3) * 5 == 4 * 5 == 20 ? ? "Remember the quadratic equation? ? ? "Here is a case where getting the math order correct" ? "is vital specially when expressing the two x values" ? "possible directly from the A, B, C constants for the" ? "equations:" ? ? "For x^2 + 2*x - 3 = 0 ? "if A = 1, B = 2, C = -3" ? "then x = (-B + ( B^2 - 4*A*C)^.5 )/(2*A)" ? " and x = (-B - ( B^2 - 4*A*C)^.5 )/(2*A)" rem do that in code: rem Next line is 3 variable assignments on one line, A = 1 : B = 2 : C = -3 ' a colon : separates statements in Basic ? "x = ";(-B + (B^2 - 4*A*C)^.5)/(2*A); ? " and x = ";(-B - (B^2 - 4*A*C)^.5)/(2*A) ? ? "and for x^2 - 99.1*x - 202.2 = 0 ? "let A = 1, B = -99.1, C = -202.2 A = 1 : B = -99.1 : C = -202.2 ? "x = ";(-B + (B^2 - 4*A*C)^.5)/(2*A); ?" and x = ";(-B - (B^2 - 4*A*C)^.5)/(2*A) ? ? "BASIC makes formula or equation handling easy!" ? pause